Skip to content

Conversation

@VirajAgarwal1
Copy link

  • replace CouchbaseSearchDocumentStore with CouchbaseQueryDocumentStore (GSI-based)
  • replace CouchbaseSearchEmbeddingRetriever with CouchbaseQueryEmbeddingRetriever
  • add QueryVectorSearchType.ANN and QueryVectorSearchSimilarity.DOT configuration
  • remove INDEX_NAME requirement (GSI indexes auto-discovered)
  • upgrade couchbase-haystack from 2.0.0 to 2.1.0
  • update README with Hyperscale and Composite Vector Index creation instructions
  • add .gitignore for secrets.toml
  • update documentation links to Couchbase Cloud vector index docs

… Index support

- replace CouchbaseSearchDocumentStore with CouchbaseQueryDocumentStore (GSI-based)
- replace CouchbaseSearchEmbeddingRetriever with CouchbaseQueryEmbeddingRetriever
- add QueryVectorSearchType.ANN and QueryVectorSearchSimilarity.DOT configuration
- remove INDEX_NAME requirement (GSI indexes auto-discovered)
- upgrade couchbase-haystack from 2.0.0 to 2.1.0
- update README with Hyperscale and Composite Vector Index creation instructions
- add .gitignore for secrets.toml
- update documentation links to Couchbase Cloud vector index docs
@gemini-code-assist
Copy link

Summary of Changes

Hello @VirajAgarwal1, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refactors the RAG demo to leverage the advanced GSI-based vector indexing features available in Couchbase 8.0. The changes involve updating core Haystack components to use the new CouchbaseQueryDocumentStore and CouchbaseQueryEmbeddingRetriever, configuring vector search parameters, and enhancing the documentation to guide users through the new vector index creation process. The overall impact is an improved, more performant, and future-proof vector search integration for the demo.

Highlights

  • Couchbase Vector Index Migration: The demo has been updated to utilize the new GSI-based vector indexing capabilities introduced in Couchbase 8.0, moving away from the older Full Text Search (FTS) based vector search.
  • Haystack Component Updates: The CouchbaseSearchDocumentStore and CouchbaseSearchEmbeddingRetriever have been replaced with CouchbaseQueryDocumentStore and CouchbaseQueryEmbeddingRetriever respectively, aligning with the new GSI vector index approach.
  • Vector Search Configuration: New configurations for Approximate Nearest Neighbor (ANN) search and DOT product similarity have been added to the CouchbaseQueryDocumentStore initialization, along with nprobes and query_options for scan consistency and timeout.
  • Simplified Index Management: The explicit INDEX_NAME requirement has been removed, as GSI indexes are auto-discovered, simplifying the setup process.
  • Dependency Upgrade: The couchbase-haystack library has been upgraded from version 2.0.0 to 2.1.0 to support these new features.
  • Documentation and Setup Improvements: The README.md has been significantly updated to provide detailed instructions for creating Hyperscale and Composite Vector Indexes using SQL++, explaining their differences and use cases. It also clarifies the roles of components and updates documentation links.
  • Security Enhancement: A .gitignore entry has been added for secrets.toml to prevent sensitive configuration files from being committed.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request successfully updates the demo application to use Couchbase 8.0's new GSI-based vector indexes. The changes involve replacing CouchbaseSearchDocumentStore with CouchbaseQueryDocumentStore, updating the necessary configurations, and upgrading the couchbase-haystack dependency. The README has been significantly improved with detailed instructions for the new vector index types. The code changes are correct and well-implemented. I have a few minor suggestions for the README and code to fix typos and improve clarity.

VirajAgarwal1 and others added 4 commits October 29, 2025 13:47
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@VirajAgarwal1 VirajAgarwal1 self-assigned this Oct 29, 2025
@shyam-cb
Copy link
Contributor

shyam-cb commented Oct 31, 2025

@VirajAgarwal1 we need to have both fts and gsi example not only gsi

- Introduced `chat_with_pdf_with_fts.py` for chatting with PDFs using Couchbase's Full Text Search (FTS) vector indexing.
- Implemented document processing and storage in Couchbase Vector Store.
- Enhanced README with detailed implementation options and setup instructions for FTS and other vector index types.
Copy link
Contributor

@shyam-cb shyam-cb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Create scope, collection and indexes automatically for both fts and gsi

for fts create index whle create scope and collection and for gsi create vector search index after inserting pdf file into database and also update the readme accordingly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants